C'est un langage typé
Toutes les variables doivent être déclarées
Leur type doit être explicitement défini
C'est un langage structuré
Le langage permet de définir des procédures et fonctions qui sont des sortes de sous-programmes (Cf. chapitre 8).
Un problème peut ainsi être décomposé en sous-problèmes.
C'est un langage récursif
Les procédures et fonctions peuvent « s'appeler » elles-mêmes (Cf. chapitre 12).